#ifndef GENOMEDATAUPLOADER_H
#define GENOMEDATAUPLOADER_H

#include <QObject>
#include <QString>
#include <QDebug>
#include <QProcess>
#include <QFile>
#include <QDir>
#include <QApplication>

class GenomeDataUploader : public QObject
{
    Q_OBJECT
public:
    explicit GenomeDataUploader(QString gffFile, QString fastaFile, QObject *parent = 0);
    
signals:
    void trackProgress(int stepsComplete);
    void finished();
    void error( QString err );

    void createdReformattedFileSignal(QString fileName);

public slots:
    void process();

public slots:

private:
    QString gffFile;
    QString fastaFile;

    QProcess* cdHit;

    bool readFastaOutputCdHitCluster( QString inputFastaFile, QString outputClusterFile );
    bool readClusterAndGFFWriteTabDelim( QString clusterInputFile, QString gffInputFile, QString outputTabDelimFile );
    //bool readTabDelimFile( QString pathToFile );
    
    void cleanup();
};

#endif // GENOMEDATAUPLOADER_H
